# 导入库
from docx import Document
from docx.shared import Pt
from docx.shared import Inches
from docx.oxml.ns import qn
from docx.shared import RGBColor

#1.通过 Document() 创建出一个空白文档
'''
doc1 = Document()

# 新增文档标题
doc1.add_heading('如何使用 Python 创建和操作 Word',0)

# 保存文件
doc1.save('word1.docx')
'''

#2.章节与段落
'''
# 新建空白文档
doc1 = Document()

# 新增文档标题
doc1.add_heading('如何使用 Python 创建和操作 Word',0)

# 创建段落描述
doc1.add_paragraph(' Word 文档在我们现在的生活和工作中都用的比较多，我们平时都使用 wps 或者 office 来对 Word 进行处理，可能没想过它可以用 Python 生成，下面我们就介绍具体如何操作……')

# 创建一级标题
doc1.add_heading('安装 python-docx 库',1)

# 创建段落描述
doc1.add_paragraph('现在开始我们来介绍如何安装 python-docx 库，具体需要以下两步操作：')

# 创建二级标题
doc1.add_heading('第一步：安装 Python',2)

# 创建段落描述
doc1.add_paragraph('在python官网下载python安装包进行安装。')

# 创建三级标题
doc1.add_heading('第二步：安装 python-docx 库',3)

# 创建段落描述
doc1.add_paragraph('window下win+R输入CMD打开命令行，输入pip install python-docx即可下载。')

# 保存文件
doc1.save('word2.docx')
'''

#3.字体和引用
'''
# 新建空白文档
doc1 = Document()

# 新增文档标题
doc1.add_heading('如何使用 Python 创建和操作 Word',0)

# 创建段落描述
doc1.add_paragraph(' Word 文档在我们现在的生活和工作中都用的比较多，我们平时都使用 wps 或者 office 来对 Word 进行处理，可能没想过它可以用 Python 生成，下面我们就介绍具体如何操作……')

# 创建一级标题
doc1.add_heading('安装 python-docx 库',1)

# 创建段落描述
doc1.add_paragraph('现在开始我们来介绍如何安装 python-docx 库，具体需要以下两步操作：')

# 创建二级标题
doc1.add_heading('第一步：安装 Python',2)

# 创建段落描述
doc1.add_paragraph('在python官网下载python安装包进行安装。')

# 创建三级标题
doc1.add_heading('第二步：安装 python-docx 库',3)

# 创建段落描述
doc1.add_paragraph('window下win+R输入CMD打开命令行，输入pip install python-docx即可下载。')

# 创建段落，添加文档内容
paragraph = doc1.add_paragraph('这是第二步的安装描述！')

# 段落中增加文字，并设置字体字号
run = paragraph.add_run('(注意：这里设置了字号为20)')
run.font.size = Pt(20)

# 设置英文字体
run = doc1.add_paragraph('这里设置英文字体：').add_run('This Font is Times New Roman ')
run.font.name = 'Times New Roman'

# 设置中文字体
run = doc1.add_paragraph('这里设置中文字体：').add_run('当前字体为黑体')
run.font.name='黑体'
r = run._element
r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')

# 设置斜体
run = doc1.add_paragraph('这段设置：').add_run('文字的是斜体 ')
run.italic = True

# 设置粗体
run = doc1.add_paragraph('这段再设置：').add_run('这里设置粗体').bold = True

# 设置字体带下划线
run = doc1.add_paragraph('这段为下划线：').add_run('这里设置带下划线').underline = True

# 设置字体颜色
run = doc1.add_paragraph('这段字体为红色：').add_run('这里设置字体为红色')
run.font.color.rgb = RGBColor(0xFF, 0x00, 0x00)

# 增加引用
doc1.add_paragraph('这里是我们引用的一段话：用Python改变人生，改变世界，FIGHTING。', style='Intense Quote')

# 保存文件
doc1.save('word3.docx')
'''

#4.项目列表
'''
# 新建文档
doc2 = Document()

doc2.add_paragraph('哪个不是动物：')

# 增加无序列表
doc2.add_paragraph(
    '苹果', style='List Bullet'
)
doc2.add_paragraph(
    '喜洋洋', style='List Bullet'
)
doc2.add_paragraph(
    '懒洋洋', style='List Bullet'
)
doc2.add_paragraph(
    '沸洋洋', style='List Bullet'
)
doc2.add_paragraph(
    '灰太狼', style='List Bullet'
)

doc2.add_paragraph('2020年度计划：')
# 增加有序列表
doc2.add_paragraph(
    'CSDN达到博客专家', style='List Number'
)
doc2.add_paragraph(
    '每周健身三天', style='List Number'
)

doc2.add_paragraph(
    '每天学习一个新知识点', style='List Number'
)
doc2.add_paragraph(
    '学习50本书', style='List Number'
)
doc2.add_paragraph(
    '减少加班时间', style='List Number'
)

# 保存文件
doc2.save('word4.docx')
'''

#5.图片和表格
'''
# 新建文档
doc2 = Document()

doc2.add_paragraph('哪个不是动物：')

# 增加无序列表
doc2.add_paragraph(
    '苹果', style='List Bullet'
)
doc2.add_paragraph(
    '喜洋洋', style='List Bullet'
)
doc2.add_paragraph(
    '懒洋洋', style='List Bullet'
)
doc2.add_paragraph(
    '沸洋洋', style='List Bullet'
)
doc2.add_paragraph(
    '灰太狼', style='List Bullet'
)

doc2.add_paragraph('2020年度计划：')
# 增加有序列表
doc2.add_paragraph(
    'CSDN达到博客专家', style='List Number'
)
doc2.add_paragraph(
    '每周健身三天', style='List Number'
)

doc2.add_paragraph(
    '每天学习一个新知识点', style='List Number'
)
doc2.add_paragraph(
    '学习50本书', style='List Number'
)
doc2.add_paragraph(
    '减少加班时间', style='List Number'
)

doc2.add_heading('图片',2)

# 增加图像
doc2.add_picture('python.jpg')

doc2.add_heading('表格',2)

# 增加表格，这是表格头
table = doc2.add_table(rows=1, cols=4)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = '编号'
hdr_cells[1].text = '姓名'
hdr_cells[2].text = '职业'

# 这是表格数据
records = (
    (1, '张三', '电工'),
    (2, '张五', '老板'),
    (3, '马六', 'IT'),
    (4, '李四', '工程师')
)

# 遍历数据并展示
for id, name, work in records:
    row_cells = table.add_row().cells
    row_cells[0].text = str(id)
    row_cells[1].text = name
    row_cells[2].text = work

# 手动增加分页
doc2.add_page_break()

# 保存文件
doc2.save('word5.docx')
'''

#6.读取 Word 文件
'''
# 打开文档3
doc1 = Document('word3.docx')

# 读取每段内容
pl = [ paragraph.text for paragraph in doc1.paragraphs]

print('###### 输出word3文章的内容 ######')
# 输出读取到的内容
for i in pl:
    print(i)

# 打开文档5
doc2 = Document('word5.docx')

print('\n###### 输出word5文章内容 ######')

pl2 = [ paragraph.text for paragraph in doc2.paragraphs]

# 输出读取到的内容
for j in pl2:
    print(j)

# 读取表格材料，并输出结果
tables = [table for table in doc2.tables]
for table in tables:
    for row in table.rows:
        for cell in row.cells:
            print (cell.text,end='  ')
        print()
    print('\n')
'''




